<?php
/**
 * Nweb Editor
 *
 * This script is protected by copyright. It's use, copying, modification
 * and distribution without written consent of the author is prohibited.
 *
 * @category    source
 * @package     pl.nweb.editor.search
 * @author      Krzysztof Kardasz <krzysztof.kardasz@gmail.com>
 * @copyright   Copyright (c) 2011 Krzysztof Kardasz
 * @license     http://www.gnu.org/licenses/lgpl-3.0.txt  GNU Lesser General Public
 * @version     1.0 $Id$
 * @link        https://nweb-editor.googlecode.com
 * @link        http://editor.nweb.pl
 */

namespace pl\nweb\editor\search\index;

/**
 * Wyszukiwarka
 *
 * @category    source
 * @package     pl.nweb.editor.search
 * @author      Krzysztof Kardasz <krzysztof.kardasz@gmail.com>
 * @copyright   Copyright (c) 2011 Krzysztof Kardasz
 * @version     1.0 $Id$
 */
class Document
{
    /**
     * Tytuł
     *
     * @param string
     */
    private $_title = null;

    /**
     * Adres URI
     *
     * @param string
     */
    private $_uri = null;

    /**
     * Opis
     *
     * @param string
     */
    private $_description = null;

    /**
     * Słowa kluczowe
     *
     * @param array
     */
    private $_keywords = array();

    /**
     * Treść dokumentu
     *
     * @param string
     */
    private $_contents = null;

    /**
     * Definiuje tytuł dokumentu
     *
     * @param string $title tytuł
     * @return void
     */
    public function setTitle ($title)
    {}

    /**
     * Definiuje adres uri dokumentu
     *
     * @param string $uri adres uri dokumentu
     * @return void
     */
    public function setUri ($uri)
    {}

    /**
     * Definiuje skrócony opis dokumentu
     *
     * @param string $description opis
     * @return void
     */
    public function setDescription ($description)
    {}

    /**
     * Definiuje słowa kluczowe
     *
     * @param array $keywords słowa kluczowe
     * @return void
     */
    public function setKeywords (array $keywords)
    {}

    /**
     * Definiuje treść dokumentu
     *
     * @param string $contents treści
     * @return void
     */
    public function setContents ($contents)
    {
        // Encje => óęśź itd.
        $contents = preg_replace(array(
        	'/&\w+;/',
            '/<script.*?>.*?<\/script>/si'
        ), '', $contents);
        $contents = strip_tags($contents);

        preg_match_all('/[\S]+/si', $contents, $words);
        // TODO Odfiltrować znaki

    }
}